
#ifndef DESIGN_PATTERNS_PROTOTYPE_CANVAS_H
#define DESIGN_PATTERNS_PROTOTYPE_CANVAS_H

#include "Shape.h"
#include <list>

class Canvas
{
private:
  std::list<Shape*> shapes_;

  std::list<Shape*> selected_;

public:
  Canvas();

  void AddShape(Shape* s);

  void Show();

  Shape* Select(int i);

  void OnDrag();

  ~Canvas();
};

#endif //DESIGN_PATTERNS_PROTOTYPE_CANVAS_H
